package test.temp;

import java.net.URL;

/**
 * <p>
 * Title: 在类中取得当前文件所在的相对路径与绝对路径
 * </p>
 * 
 * <p>
 * Description: 在类中取得当前文件所在的相对路径与绝对路径
 * </p>
 * 
 * <p>
 * Copyright: Copyright 1997 - 2005
 * </p>
 * 
 * <p>
 * Company: Beyond DayBreak Office
 * </p>
 * 
 * @author YuLimin
 * @version 1.0
 */
public class GetClassPath {
	public GetClassPath() {
		super();
	}

	/**
	 * main
	 * 
	 * @param args
	 *            String[]
	 */
	public static void main(String[] args) {
		GetClassPath getclasspath = new GetClassPath();
		System.out.println(getclasspath.getClassPath());
	}

	/**
	 * 在类中取得当前文件所在的相对路径与绝对路径
	 * 
	 * @return String
	 */
	public String getClassPath() {
		String strClassName = getClass().getName();
		String strPackageName = "";
		if (getClass().getPackage() != null) {
			strPackageName = getClass().getPackage().getName();
		}
		System.out.println("ClassName:" + strClassName);
		System.out.println("PackageName:" + strPackageName);

		String strClassFileName = "";
		if (!"".equals(strPackageName)) {
			strClassFileName = strClassName.substring(
					strPackageName.length() + 1, strClassName.length());
		} else {
			strClassFileName = strClassName;
		}
		System.out.println("ClassFileName:" + strClassFileName);

		URL url = null;
		url = getClass().getResource(strClassFileName + ".class");
		String strURL = url.toString();
		System.out.println(strURL);
		try {
			strURL = java.net.URLDecoder.decode(strURL, "UTF-8");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		strURL = strURL.substring(strURL.indexOf('/') + 1, strURL
				.lastIndexOf('/'));
		return strURL;
	}
}